// 引入自定义的Dog模块
const Dog = require('./dog');

// 1. 实例化两个Dog对象（匹配执行效果中的taidi和zangao）
const taidi = new Dog('taidi', 5); // 名字：taidi，初始精力：5（吠叫5次后停止）
const zangao = new Dog('zangao', 9); // 名字：zangao，初始精力：9（吠叫9次后停止）

/**
 * 为狗绑定bark事件监听器（触发时输出吠叫信息）
 * @param {Object} dog - Dog实例
 */
function bindBarkEvent(dog) {
  dog.on('bark', () => {
    console.log(`${dog.name} barked! energy: ${dog.energy}`);
  });

  // 可选：绑定停止吠叫的事件监听器（精力耗尽时触发）
  dog.on('stopBark', () => {
    console.log(`${dog.name} has no energy left, stopped barking!`);
  });
}

// 2. 为两个狗绑定事件
bindBarkEvent(taidi);
bindBarkEvent(zangao);

// 3. 启动吠叫
taidi.startBark();
zangao.startBark();